package org.dromara.demo.designPattern.isp.service.impl;

import org.dromara.demo.designPattern.isp.service.ISkill;

/**
 * 违背接口隔离原则, 因为后裔只会有三个技能, 这里多了一个技能, 导致违背接口隔离原则
 * 综上，每个英雄的实现类里都有一个和自己无关的接口实现类，非常不符
 * 合设计模式，也不易于维护。因为不仅无法控制外部的调用，还需要维护对应
 * 的文档，来说明这个接口不需要实现。如果有更多这样的接口，就会变得非常
 * 麻烦
 */
public class HeroHouYi  implements ISkill {
    @Override
    public void doArchery() {
        System.out.println("后裔的灼日之矢");
    }

    @Override
    public void doInvisible() {
        System.out.println("后裔的隐身技能");
    }

    @Override
    public void doSilent() {
        System.out.println("后裔的沉默技能");
    }

    @Override
    public void doVertigo() {
             // 无此技能的实现
    }
}
